import { createSlice } from '@reduxjs/toolkit'

const counterStore = createSlice({
  // createSlice用于创建store
  // 模块名称，是独一无二的
  name: 'counter',
  // 初始化state状态数据
  initialState: {
    count: 0,
    message: 'Hello Redux'
  },
  // 修改数据的同步方法 支持直接修改
  reducers: {
    increment(state) {
      state.count++
    },
    decrement(state) {
      state.count--
    },
    changeMessageAction(state, action) {
      state.message = action.payload
    }
  }
})

// 解构出创建action对象的函数   {actionCreater}
const { increment, decrement, changeMessageAction } = counterStore.actions

// 获取reducer函数
const counterReducer = counterStore.reducer

// 以按需导出的方式导出创建action对象的函数
export { increment, decrement, changeMessageAction }

// 以默认导出的方式导出reducer函数
export default counterReducer
